1. Field
The present embodiments generally relate to driving displays from a computer system. More specifically, the present embodiments relate to techniques for driving mirrored displays with color correction from a computer system.
2. Related Art
Interactions between a user and a computer system may be facilitated by connecting multiple displays to the computer system. For example, the connection of an external monitor to a laptop computer may allow the user of the laptop computer to simultaneously view more documents, media files (e.g., video, images, etc.), and/or graphical user interfaces (GUIs) for applications than would be possible with just the laptop computer's built-in monitor. Alternatively, multiple displays may be mirrored by a computer system to facilitate the viewing of content from different locations and/or directions. For example, mirrored displays may be used during a presentation to allow presentation slides to be viewed from all seats in a large lecture hall.
To drive mirrored displays, graphical output for the displays may be rendered, color-corrected to one of the displays, and written to a shared framebuffer. Each display may then be updated with data from the framebuffer at the refresh rate of the display. However, displays that differ in brand and/or display technology frequently differ in their associated color spaces. For example, a television may display colors with a bluish tint, while a high-resolution display used for graphic design may display colors with a yellowish tint.
Mirroring of displays with different color spaces may thus produce noticeable differences in the displays' color outputs, as well as the inaccurate generation of colors in at least some of the displays. For example, a blue-tinted television and a yellow-tinted liquid crystal display (LCD) may be connected to the same computer system and mirrored. To color-correct for the television, the pixel values in the shared framebuffer may be shifted toward the yellow end of the visible spectrum. On the other hand, the same pixel values may exacerbate the yellow tint of the LCD.
Hence, what is needed is a mechanism for facilitating the production of correct color output in mirrored displays connected to a computer system.